import globals from 'globals';
import pluginJs from '@eslint/js';
import tseslint from 'typescript-eslint';
import pluginVue from 'eslint-plugin-vue';
import Prettier from 'eslint-config-prettier';
export default [
  {
    name: 'browser',
    languageOptions: { globals: globals.browser },

    rules: {
      semi: 'error', // 要求使用分号结尾
      'no-var': 'error', // 要求使用 let 或 const 而不是 var
      'no-multiple-empty-lines': ['warn', { max: 1 }], // 不允许多个空行(就是回车键)
      'arrow-body-style': ['error', 'always'], // 要求箭头函数体使用大括号
      'default-case': ['error', { commentPattern: '^skip\\sdefault' }], // 要求switch语句至少要有default分支
      eqeqeq: 'warn', // 要求使用全等
      'dot-notation': ['error', { allowKeywords: false }], // 要求使用点号访问属性
      'new-cap': 'error', // 要求构造函数首字母大写
      'max-lines': ['error', 500] // 限制代码行数
    }
  },

  pluginJs.configs.recommended,
  ...tseslint.configs.recommended,
  ...pluginVue.configs['flat/essential']
];
